<!-- www.ecodis.de/exhale/release.htm - created by Christian R. Helmrich - Copyright (c) 2018-2021 Christian R. Helmrich, project ecodis. All rights reserved. -->

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel="stylesheet" type="text/css" href="styles.css">
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<meta name="author" content="Dr.-Ing. Christian R. Helmrich">
<meta name="description" content="exhale Software Release Notes">
<meta name="keywords" content="audio, data compression, perceptual coding, subjective evaluation, video">
<title>ecodis :: exhale :: Release Notes</title>
</head>
<body>

<table align="center" cellpadding="0" cellspacing="0">
<colgroup>
<col width="2">
<col width="60">
<col width="595">
<col width="60">
<col width="2">
</colgroup>
<tr>
<td colspan="2"></td>
<td valign="top">

<h1><br><span class="pink">exhale</span> - <span class="pink">e</span>codis e<span class="pink">x</span>tended <span class="pink">h</span>igh-efficiency <span class="pink">a</span>nd <span class="pink">l</span>ow-complexity <span class="pink">e</span>ncoder<br><span class="gray"><sup><br>Software Release Notes, Version History, Known Issues, Upcoming Feature Roadmap</sup></span><br><br></h1>
<h3>&nbsp; &nbsp;The version of this distribution of the &laquo;exhale&raquo; software release is <b>1.1.5</b> (official pub&shy;lic minor release) from April 2021. Please check <a href="http://www.ecodis.de/audio.htm#mpeg">www.ecodis.de</a> regularly for new versions of this software. A summary of each version up to this release, a list of known issues with this release, and a roadmap of additional functionality are provided below.</h3>
<h3><br><b>Chronological Version History</b></h3>
<h3>&nbsp; &nbsp;Version <b>1.1.5 <span class="gray">&nbsp;Apr. 2021, this release</span></b></h3>
<ul>
 <li><h3>exhaleApp: correct print-out of Unicode file names and paths, minor code cleanup</h3></li>
 <li><h3>exhaleLib: minor tuning of immediate playout frames, no changes to audio quality</h3></li>
 <li><h3>makefile: support for compilation of Universal 2 binaries on MacOS&trade; (C. Snowhill)</h3></li>
</ul>
<h3>&nbsp; &nbsp;Version <b>1.1.4 <span class="gray">&nbsp;Mar. 2021</span></b></h3>
<ul>
 <li><h3>exhaleApp: removed LUFS/dBFS command arguments again, code now automatic</h3></li>
 <li><h3>exhaleApp: consider the working instead of application path if no path is specified</h3></li>
 <li><h3>exhaleLib: reduce enc. delay to closest integer multiple of frame length (issue 15)</h3></li>
 <li><h3>exhaleLib: very minor tuning of transient coding especially on male speech signals</h3></li>
</ul>
<h3>&nbsp; &nbsp;Version <b>1.1.3 <span class="gray">&nbsp;Feb. 2021</span></b></h3>
<ul>
 <li><h3>exhaleApp: allow specifying loudness (LUFS) and peak sample (dBFS) after preset</h3></li>
 <li><h3>exhaleLib: write UsacConfig in immediate playout frames (increases compatibility)</h3></li>
</ul>
<h3>&nbsp; &nbsp;Version <b>1.1.2 <span class="gray">&nbsp;Jan. 2021</span></b></h3>
<ul>
 <li><h3>further improved file interoperability and seekability with some playback software</h3></li>
 <li><h3>exhaleLib: write all frames in &laquo;stss&raquo; data as immediate playout frames (issue 15)</h3></li>
</ul>
<h3>&nbsp; &nbsp;Version <b>1.1.1 <span class="gray">&nbsp;Dec. 2020</span></b></h3>
<ul>
 <li><h3>slightly improved audio quality with SBR, better compatibility with some decoders</h3></li>
 <li><h3>exhaleLib: increased frequency resolution of coded SBR envelopes, minor cleanup</h3></li>
 <li><h3>exhaleLib: workaround for time differential coding bug in some xHE-AAC decoders</h3></li>
</ul>
<h3>&nbsp; &nbsp;Version <b>1.1.0 <span class="gray">&nbsp;Nov. 2020</span></b></h3>
<ul>
 <li><h3>addition of basic SBR functionality for lower-rate coding down to 18 kbps/channel</h3></li>
 <li><h3>exhaleApp: add support for CVBR modes a&#x2014;g for encoding with SBR functionality</h3></li>
 <li><h3>exhaleApp: show &laquo;ARM&raquo; in header and '-v' command on corresponding platforms</h3></li>
 <li><h3>exhaleLib: basic 2:1 SBR encoding with ccfl = 2048, minor fixes and code cleanup</h3></li>
</ul>
<h3>&nbsp; &nbsp;Version <b>1.0.8 <span class="gray">&nbsp;Oct. 2020</span></b></h3>
<ul>
 <li><h3>minor quality improvements at low and high rates, some license text clarifications</h3></li>
 <li><h3>exhaleApp: slightly improved loudness calculation for low and high sampling rates</h3></li>
 <li><h3>exhaleLib: improved audio quality a bit for the lower and higher-rate CVBR modes</h3></li>
 <li><h3>License: removed references to BSD text, clarified disclaimer and contributor text</h3></li>
</ul>
<h3>&nbsp; &nbsp;Version <b>1.0.7 <span class="gray">&nbsp;Aug. 2020</span></b></h3>
<ul>
 <li><h3>minor bugfixes in bit-rate control and higher-rate coding at 32 kHz sampling rate</h3></li>
 <li><h3>exhaleApp: add support for CVBR mode 0 at codec sampling rates below 44.1 kHz</h3></li>
 <li><h3>exhaleApp: write complete MP4 &laquo;stss&raquo; data for improved compatibility (issue 13)</h3></li>
 <li><h3>exhaleApp: higher accuracy of loudness estimation, better BS.1770-4 compliance</h3></li>
</ul>
<h3>&nbsp; &nbsp;Version <b>1.0.6 <span class="gray">&nbsp;July 2020</span></b></h3>
<ul>
 <li><h3>bugfixes, improved quality on some transient signals, better decoder compatibility</h3></li>
 <li><h3>exhaleApp: support for Extensible WAVE format, write MP4 &laquo;prol&raquo; data (issue 10)</h3></li>
 <li><h3>exhaleApp: automatic downsampling of 48-kHz input to 32 kHz for CVBR mode 1</h3></li>
 <li><h3>exhaleLib: fine-tuning of psychoacoustic model for difficult transient input signals</h3></li>
</ul>
<h3>&nbsp; &nbsp;Version <b>1.0.5 <span class="gray">&nbsp;June 2020</span></b></h3>
<ul>
 <li><h3>slightly reduced bit-rates with lower modes, better compatibility when using stdin</h3></li>
 <li><h3>exhaleApp: support for Unicode text on Windows&trade;, 44100 Hz with CVBR mode 1</h3></li>
 <li><h3>exhaleApp: automatic upsampling of low-sample-rate input, fixed reader (issue 9)</h3></li>
 <li><h3>exhaleLib: optimized noise filling tool for slightly lower bit-rates at CVBR mode &lt;4</h3></li>
 <li><h3>compilation: exhaleApp.exe -> exhale.exe (issue 8), support for Arm&trade;, C header</h3></li>
</ul>
<h3>&nbsp; &nbsp;Version <b>1.0.4 <span class="gray">&nbsp;May 2020</span></b></h3>
<ul>
 <li><h3>finalized basic joint-stereo and TNS coding functionality, quality and stability fixes</h3></li>
 <li><h3>exhaleApp: support for 32000 Hz with CVBR mode 1, added '-v' version command</h3></li>
 <li><h3>exhaleLib: completed audio quality fine-tuning for very tonal and transient signals</h3></li>
 <li><h3>compilation: support for MinGW (issue 5) and cmake (via CMakeList files, issue 6)</h3></li>
</ul>
<h3>&nbsp; &nbsp;Version <b>1.0.3 <span class="gray">&nbsp;Apr. 2020</span></b></h3>
<ul>
 <li><h3>extended basic joint-stereo coding functionality for mid/high rates, minor bugfixes</h3></li>
 <li><h3>exhaleLib: band adaptive joint-stereo coding for all CVBR modes, fixed rare crash</h3></li>
 <li><h3>exhaleLib: audio quality fine-tuning, especially for very tonal and transient signals</h3></li>
 <li><h3>makefile: -std=c++11 to allow for compilation with older versions of gcc (issue 4)</h3></li>
</ul>
<h3>&nbsp; &nbsp;Version <b>1.0.2 <span class="gray">&nbsp;Mar. 2020</span></b></h3>
<ul>
 <li><h3>added basic low/mid-rate joint-stereo coding functionality, bugfixes, and speedups</h3></li>
 <li><h3>exhaleApp: support for input sampling rates of up to 48000 Hz with CVBR mode 2</h3></li>
 <li><h3>exhaleLib: frame adaptive joint-stereo preprocessing and coding (CVBR mode &lt;5)</h3></li>
 <li><h3>exhaleLib: accelerated R/D opt. coding, stability and quality fixes (issues 2 and 3)</h3></li>
</ul>
<h3>&nbsp; &nbsp;Version <b>1.0.1 <span class="gray">&nbsp;Feb. 2020</span></b></h3>
<ul>
 <li><h3>improved low-bitrate coding efficiency and support for MPEG-D loudness metadata</h3></li>
 <li><h3>exhaleApp: increased MP4 file versatility (issue 1) and calculation of loudness info</h3></li>
 <li><h3>exhaleLib: backward compatible API extension to support writing of loudness info</h3></li>
 <li><h3>exhaleLib: extended R/D optimized coding, improved short-transform quantization</h3></li>
</ul>
<h3>&nbsp; &nbsp;Version <b>1.0.0 <span class="gray">&nbsp;Jan. 2020</span></b></h3>
<ul>
 <li><h3>compilation fixes and executable printout changes for Linux and MacOS&trade; platform</h3></li>
 <li><h3>exhaleApp: fixed reading of WAVE files including metadata after the &laquo;data&raquo; chunk</h3></li>
 <li><h3>exhaleLib: some tuning of transform and noise level detection for transient signals</h3></li>
 <li><h3>exhaleLib: support for export as DLL on Microsoft Windows&trade; (not tested, though)</h3></li>
</ul>
<h3>&nbsp; &nbsp;Version <b>1.0RC <span class="gray">Dec. 2019</span></b></h3>
<ul>
 <li><h3>initial release for testing with only basic channel-independent coding functionality</h3></li>
 <li><h3>only support for Microsoft Windows&trade; (32-bit and 64-bit) platform provided so far.</h3></li>
</ul>
<h3><br><b>Known Issues with This Release</b></h3>
<h3>&nbsp; &nbsp;If you notice an issue with this release <b>not</b> mentioned below, please contact ecodis or a contributor with the details (configuration, input file) needed to reproduce the issue.</h3>
<ul>
 <li><h3>exhaleApp: At the end of each encoding run, the MPEG-4 file header with seeking information is written to the beginning of the output file to maximize compatibility in audio streaming applications. Since such a file operation is not supported with pipe based output, encoding to stdout instead of files is currently not supported.</h3></li>
 <li><h3>exhaleApp: Only basic WAVE input file reading functionality has been implemen&shy;ted. Specifically, 8-bit WAVE input is assumed to contain an even number of audio samples, and ITU-R <a href="https://www.itu.int/rec/R-REC-BS.2088/en">BS.2088</a> (RF64, Broadcast WAVE) files are not supported.</h3></li>
</ul>
<h3><br><b>Roadmap of Upcoming Features</b></h3>
<h3>&nbsp; &nbsp;If you are in need of an additional library or application feature <b>not</b> mentioned below, please contact ecodis or a contributor with a request, and we will see what we can do.</h3>
<ul>
 <li><h3>support for coding with a core coder frame length of 768 samples, no version plan</h3></li>
 <li><h3>exhaleLib: finalization of support for 5.1&#x2013;7.1 multichannel coding, no version plan</h3></li>
 <li><h3>exhaleLib: speed-ups and further quality tuning for difficult signals, as necessary.</h3></li>
</ul>
<h3><br></h3>
<h4><span class="gray">Written by C. R. Helmrich for exhale 1.1.5, Apr. 2021. Available at www.ecodis.de/exhale/release.htm.</span><br><br></h4>

</td>
<td valign="top" colspan="2">
<p><br>&nbsp; &nbsp;<img src="../src/app/exhaleApp.ico" alt="exhale" title="exhale" height="48" width="48"></p>
</td>
</tr>
</table>
<p></p>

</body>
</html>
